/**
 * Copyright 2009 - ChunMap
 * 
 * 这个文件是ChunMap项目的一部分。
 * ChunMap是开源软件。
 * 你可以自由复制、传播本项目的下载包文件，但必须保持其完整性。
 * 我们不用对使用中的风险及由此造成的损失承担任何责任。
 * 详细情况请见《ChunMap许可协议》。

 * 想了解更多有关ChunMap的信息，请访问http://code.google.com/p/chunmap/
 */
package chunmap.orm.sql;

import java.sql.PreparedStatement;

import chunmap.orm.mapping.type.DataType;

/**
 * @author yangjiandong
 *
 */
public class SqlParameter implements Comparable<SqlParameter>{
	private DataType dataType;
	private Object value;
	private int index;
	
	public SqlParameter(DataType dataType, Object value, int index) {
		super();
		this.dataType = dataType;
		this.value = value;
		this.index = index;
	}
	
	DataType getDataType() {
		return dataType;
	}
	Object getValue() {
		return value;
	}
	int getIndex() {
		return index;
	}
	
	public void setPreparedParmeter(PreparedStatement ps){
		dataType.setPreparedStatement(ps, index, value);
	}

	@Override
	public String toString() {
		return "'" + value + "'";
	}

	@Override
	public int compareTo(SqlParameter other) {
		if(this.index<other.index)return -1;
		if(this.index==other.index)return 0;
		return 1;
	}

}
